package ojt.logic;

import java.util.ArrayList;

import ojt.dao.DaoShain;
import ojt.exception.BusinessException;
import ojt.exception.SystemException;
import ojt.model.*;


public class SearchLogic {
	
	public SearchLogic(){
		// TODO コンストラクタ
	}
	/**
	 * 検索実行メソッド.
	 * 検索画面で入力された社員情報を入力チェックし、
	 * 検索条件に一致する社員情報リストを取得し、返却する。
	 * @param shain 社員情報モデルクラス
	 * @return ArrayList<Shain> 社員情報のリスト
	 * @throws SystemException システム例外
	 * @throws BusinessException 入力エラー、該当社員なし
	 */
	public ArrayList<Shain> execute(Shain shain) throws SystemException,BusinessException{
		//検索結果
		ArrayList<Shain> searchResult;
		//社員所情報アクセスクラス
		DaoShain dao = null;
		
		try{
			//入力チェック
			shain.checkSearchInput();
			//入力チェックがなければ、DBアクセスする
			dao = new DaoShain();
			//社員情報を検索
			searchResult = dao.searchShain(shain);
		}
		//コネクションの削除
		finally{
			if(dao != null){dao.closeConnection();}
		}
		return searchResult;
	}
}
